/*
 * InterfaceTraceabilityTree.java
 *
 * $Id: InterfaceTraceabilityTree.java,v 1.4 2009-09-17 12:11:45 mario Exp $
 */
package org.ceteca.explica.core.traceability;

/**
 * Interface with the constant definition of the values used in the
 * Traceability Tree Viewer module.
 * It holds tagnames of the XML traceability file, attribute names of the
 * elements of the XML traceability file, names of GUI elements, paths
 * of the icons and other resources used in the module, etc. 
 * <br/>
 * @author Mario García García <mario@imagos.es>
 * Copyright (c) 2007 Fundación Centro Tecnolóxico da Carne
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * <br/>
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * <br/>
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
public interface InterfaceTraceabilityTree {
	/* -----------------------------------------------------------------
     * -----------------------------------------------------------------
     * ----------------------   TAG NAMES ------------------------------
     * -----------------------------------------------------------------
     * ----------------------------------------------------------------- */

	/** Header of the xml traceability files */
//	public static String XML_HEADER = "<?xml version=\"1.0\"?>\n<!DOCTYPE traceability-tree SYSTEM \"/home/mario/workspace/Explica/src/org/ceteca/explica/core/traceability/tree/parser/traceabilityTree.dtd\">";
	public static String XML_HEADER = "<?xml version=\"1.0\"?>\n<!DOCTYPE traceability-tree SYSTEM \"http://traceabilityTree.dtd\">";
	
	/** Starting character of an xml tag */
    public static String START_XML_TAG = "<";
    
    /** Ending character of an xml tag */
    public static String END_XML_TAG = ">";
    
    /** White space character */
    public static String WHITE_SPACE = " ";
    
    /** Slash character */
    public static String SLASH = "/";
    
    /** End of line character */
    public static String END_LINE = "\n";
    
    /** Tab character */
    public static String TAB = "   ";
	
	/** Name of the traceability-tree tag in the traceability file */
    public static String TRACEABILITY_TREE_TAG = "traceability-tree";

    /** Name of the product tag in the traceability file */
    public static String PRODUCT_TAG = "product";
    
    /** Name of the source tag in the traceability file */
    public static String SOURCE_TAG = "source";
    
    /** Name of the processIn tag in the traceability file */
    public static String PROCESS_IN_TAG = "processIn";
    
    /** Name of the purchase tag in the traceability file */
    public static String PURCHASE_TAG = "purchase";
    
    /** Name of the process tag in the traceability file */
    public static String PROCESS_TAG = "process";
    
    /** Name of the worker tag in the traceability file */
    public static String WORKER_TAG = "worker";
    
    /** Name of the workcenter tag in the traceability file */
    public static String WORKCENTER_TAG = "workCenter";
    
    /** Name of the warehouse tag in the traceability file */
    public static String WAREHOUSE_TAG = "warehouse";
    
    /** Name of the comment tag in the traceability file */
    public static String COMMENT_TAG = "comment";
    
    /** Name of the appcc tag in the traceability file */
    public static String APPCC_TAG = "appcc";
    
    /** Name of the operation tag in the traceability file */
    public static String OPERATION_TAG = "operation";
    
    /** Name of the property tag in the traceability file */
    public static String PROPERTY_TAG = "property";
    
    /* -----------------------------------------------------------------
     * -----------------------------------------------------------------
     * ----------------------   PROPERTY NAMES -------------------------
     * -----------------------------------------------------------------
     * ----------------------------------------------------------------- */
	
    /** Name of the xmlns property of the item <traceability-tree> */
    public static String PROPERTY_TRACEABILITY_TREE_XMLNS_PROPERTYNAME = "xmlns";
    
	/** Name of the setNumber property of the item <product> */
    public static String PROPERTY_PRODUCT_SETNUMBER_PROPERTYNAME = "setNumber";
    /** Name of the description property of the item <product> */
    public static String PROPERTY_PRODUCT_DESCRIPTION_PROPERTYNAME = "description";
    /** Name of the barcode property of the item <product> */
    public static String PROPERTY_PRODUCT_BARCODE_PROPERTYNAME = "barcode";
    /** Name of the reference property of the item <product> */
    public static String PROPERTY_PRODUCT_REFERENCE_PROPERTYNAME = "reference";
    /** Name of the dateIn property of the item <product> */
    public static String PROPERTY_PRODUCT_DATEIN_PROPERTYNAME = "dateIn";
    /** Name of the dateExpiry property of the item <product> */
    public static String PROPERTY_PRODUCT_DATEEXPIRY_PROPERTYNAME = "dateExpiry";
    /** Name of the traceabilityFile property of the item <product> */
    public static String PROPERTY_PRODUCT_TRACEABILITYFILE_PROPERTYNAME = "traceabilityFile";
    
    /** Name of the purchaseConfirmation property of the item <purchase> */
    public static String PROPERTY_PURCHASE_PURCHASECONFIRMATION_PROPERTYNAME = "purchaseConfirmation";
    /** Name of the supplier property of the item <purchase> */
    public static String PROPERTY_PURCHASE_SUPPLIER_PROPERTYNAME = "supplier";
    
    /** Name of the purchaseConfirmation property of the item <sale> */
    public static String PROPERTY_SALE_SALEORDER_PROPERTYNAME = "saleOrder";
    /** Name of the client property of the item <sale> */
    public static String PROPERTY_SALE_CLIENT_PROPERTYNAME = "client";
    
    /** Name of the dateProcess property of the item <process> */
    public static String PROPERTY_PROCESS_DATEPROCESS_PROPERTYNAME = "dateProcess";
    /** Name of the codProcess property of the item <process> */
    public static String PROPERTY_PROCESS_PROCESSCODE_PROPERTYNAME = "codProcess";

    /** Name of the workerCode property of the item <worker> */
    public static String PROPERTY_WORKER_CODE_PROPERTYNAME = "workerCode";
    /** Name of the workerName property of the item <worker> */
    public static String PROPERTY_WORKER_NAME_PROPERTYNAME = "workerName";
    
    /** Name of the workcenterCode property of the item <workcenter> */
    public static String PROPERTY_WORKCENTER_CODE_PROPERTYNAME = "workcenterCode";
    /** Name of the description property of the item <workcenter> */
    public static String PROPERTY_WORKCENTER_DESCRIPTION_PROPERTYNAME = "description";
    
    /** Name of the workcenterCode property of the item <warehouse> */
    public static String PROPERTY_WAREHOUSE_CODE_PROPERTYNAME = "warehouseCode";
    /** Name of the description property of the item <warehouse> */
    public static String PROPERTY_WAREHOUSE_DESCRIPTION_PROPERTYNAME = "description";
    
    /** Name of the propertyCode property of the item <property> */
    public static String PROPERTY_PROPERTY_CODE_PROPERTYNAME = "cod";
    /** Name of the propertyValue property of the item <property> */
    public static String PROPERTY_PROPERTY_VALUE_PROPERTYNAME = "val";
    /** Name of the propertyType property of the item <property> */
    public static String PROPERTY_PROPERTY_TYPE_PROPERTYNAME = "type";
    /** Name of the propertyDescription property of the item <property> */
    public static String PROPERTY_PROPERTY_DESCRIPTION_PROPERTYNAME = "description";
    /** Name of the propertyPattern property of the item <property> */
    public static String PROPERTY_PROPERTY_PATTERN_PROPERTYNAME = "pattern";
    
    /* ----------------------------------------------------------------------
     *          DEFAULT DATETIME FORMAT PATTERNS 
     * ---------------------------------------------------------------------- */
    /** Pattern for short date format */
    public static final String CONST_SHORT_DATE_PATTERN = "dd/MM/yyyy";
    
    /** Pattern for long date format */
    public static final String CONST_LONG_DATE_PATTERN = "dd ' de ' MMMMMMMM ' de ' yyyy";
    
    /** Pattern for date and time format */
    public static final String CONST_DATETIME_PATTERN = "dd/MM/yyyy hh:mm";
    
    /* ----------------------------------------------------------------------
     *           ICON AND RESOURCES FILENAMES
     * ---------------------------------------------------------------------- */
    /** Name of the file with the icon for products */
    public static final String ICON_PRODUCT_FILENAME = "product.gif";
    /** Name of the file with the icon for barcodes */
    public static final String ICON_BARCODE_FILENAME = "barcode.gif";
    /** Name of the file with the icon for comments */
    public static final String ICON_COMMENT_FILENAME = "comment.png";
    /** Name of the file with the icon for dates */
    public static final String ICON_DATE_FILENAME = "date.gif";
    /** Name of the file with the icon for properties */
    public static final String ICON_PROPERTY_FILENAME = "property.gif";
    /** Name of the file with the icon for purchases */
    public static final String ICON_PURCHASE_FILENAME = "purchase.jpg";
    /** Name of the file with the icon for references */
    public static final String ICON_REFERENCE_FILENAME = "reference.jpg";
    /** Name of the file with the icon for set numbers */
    public static final String ICON_SET_FILENAME = "lot.gif";
    /** Name of the file with the icon for warehouses */
    public static final String ICON_WAREHOUSE_FILENAME = "warehouse.gif";
    /** Name of the file with the icon for workers */
    public static final String ICON_WORKER_FILENAME = "worker.gif";
    /** Name of the file with the icon for workCenters */
    public static final String ICON_WORKCENTER_FILENAME = "workcenter.jpg";
    /** Name of the file with the icon for processes */
    public static final String ICON_PROCESS_FILENAME = "process.jpg";
    /** Name of the file with the icon for in products */
    public static final String ICON_INPRODUCT_FILENAME = "in.png";
    /** Name of the file with the icon for traceability filenames */
    public static final String ICON_TRFILENAME_FILENAME = "traceabilityFile.jpg";
    
    /*
     * 			GUI NAMES FOR THE EDITION OF ITEMS GUIS.
     */
    /** Name of the edition GUI for a product node */
    public static final String TREEVIEW_EDIT_PRODUCT_GUINAME = "treeViewerEditProduct";
    /** Name of the edition GUI for a comment node */
    public static final String TREEVIEW_EDIT_COMMENT_GUINAME = "treeViewerEditComment";
    /** Name of the edition GUI for a process node */
    public static final String TREEVIEW_EDIT_PROCESS_GUINAME = "treeViewerEditProcess";
    /** Name of the edition GUI for a purchase node */
    public static final String TREEVIEW_EDIT_PURCHASE_GUINAME = "treeViewerEditPurchase";
    /** Name of the edition GUI for a worker node */
    public static final String TREEVIEW_EDIT_WORKER_GUINAME = "treeViewerEditWorker";
    /** Name of the edition GUI for a workcenter node */
    public static final String TREEVIEW_EDIT_WORKCENTER_GUINAME = "treeViewerEditWorkcenter";
    /** Name of the edition GUI for a property node */
    public static final String TREEVIEW_EDIT_PROPERTY_GUINAME = "treeViewerEditProperty";
    /** Name of the edition GUI for a warehouse node */
    public static final String TREEVIEW_EDIT_WAREHOUSE_GUINAME = "treeViewerEditWarehouse";
    /** Name of the edition GUI for a appcc node */
    public static final String TREEVIEW_EDIT_APPCC_GUINAME = "treeViewerEditAppcc";
    
    /* ----------------------------------------------------------------------
     *           OTHER CONSTANTS
     * ---------------------------------------------------------------------- */
    /** Name of the TreeViewer main window glade file */
    public static final String TREEVIEWER_GLADE_FILE = "/org/ceteca/explica/client/traceability/gui/traceabilitytreeviewer.glade";
    
    /** Name of the TreeViewer select item type dialog glade file */
    public static final String TREEVIEWER_ITEMTYPE_GLADE_FILE = "/org/ceteca/explica/client/traceability/gui/traceabilitytreeitemtype.glade";
    
    /** Name of the TreeViewer Date Chooser dialog glade file */
    public static final String TREEVIEWER_DATECHOOSER_GLADE_FILE = "/org/ceteca/explica/client/traceability/gui/datechooser.glade";
    
    /** Name of the TreeViewer Date Chooser dialog glade file */
    public static final String TREEVIEWER_FILECHOOSER_GLADE_FILE = "/org/ceteca/explica/client/traceability/gui/traceabilityfilechooser.glade";
    
    /** Name of the TreeViewer Date Chooser dialog glade file */
    public static final String TREEVIEWER_RESULTMESSAGE_GLADE_FILE = "/org/ceteca/explica/client/traceability/gui/traceabilityresultmessage.glade";
    
    /** Path to the explica result messages properties file */
    public static final String TREEVIEWER_MESSAGES_PROPERTIES_FILE = "/org/ceteca/explica/core/traceability/traceTreeViewer-messages.properties";
    
    /** Name of the TreeViewer main window */
    public static final String TREEVIEWER_WINDOW_NAME = "treeViewerWindow";
    
    /** Name of the TreeViewer main panel */
    public static final String TREEVIEWER_PANEL_NAME = "tableTreeViewer";
    
    /** Name of the TreeView widget that will contain the tree */
    public static final String TREEVIEW_WIDGET_NAME = "treeViewerPanel";
    
    /** Name of the Composite widget that will contain the edition panel */
    public static final String TREEVIEW_EDIT_PANEL_NAME = "treeViewerEditPanel";
    
    /** Name of the Composite child widget that will contain an empty
     * edition panel to show as default (when no node has been selected) */
    public static final String TREEVIEW_EDIT_EMPTY_PANEL_NAME = "treeViewerEditEmptyPanel";
    
    /** Name of the Composite child widget that will contain the edition panel 
     * for a product node */
    public static final String TREEVIEW_EDIT_PRODUCT_PANEL_NAME = "treeViewerEditProductPanel";
    /** Name of the Composite child widget that will contain the edition panel 
     * for a process node */
    public static final String TREEVIEW_EDIT_PROCESS_PANEL_NAME = "treeViewerEditProcessPanel";
    /** Name of the Composite child widget that will contain the edition panel 
     * for a warehouse node */
    public static final String TREEVIEW_EDIT_WAREHOUSE_PANEL_NAME = "treeViewerEditWarehousePanel";
    /** Name of the Composite child widget that will contain the edition panel 
     * for an appcc node */
    public static final String TREEVIEW_EDIT_APPCC_PANEL_NAME = "treeViewerEditAppccPanel";
    /** Name of the Composite child widget that will contain the edition panel 
     * for a worker node */
    public static final String TREEVIEW_EDIT_WORKER_PANEL_NAME = "treeViewerEditWorkerPanel";
    /** Name of the Composite child widget that will contain the edition panel 
     * for a workcenter node */
    public static final String TREEVIEW_EDIT_WORKCENTER_PANEL_NAME = "treeViewerEditWorkcenterPanel";
    /** Name of the Composite child widget that will contain the edition panel 
     * for a property node */
    public static final String TREEVIEW_EDIT_PROPERTY_PANEL_NAME = "treeViewerEditPropertyPanel";
    /** Name of the Composite child widget that will contain the edition panel 
     * for a purchase node */
    public static final String TREEVIEW_EDIT_PURCHASE_PANEL_NAME = "treeViewerEditPurchasePanel";
    /** Name of the Composite child widget that will contain the edition panel 
     * for a comment node */
    public static final String TREEVIEW_EDIT_COMMENT_PANEL_NAME = "treeViewerEditCommentPanel";
    
    /** Name of the Statusbar widget */
    public static final String TREEVIEW_STATUSBAR_WIDGET_NAME = "treeViewerStatusbar";
    /** Default text of the Statusbar */
    public static final String TREEVIEW_STATUSBAR_DEFAULT_TEXT = "Tree Viewer";
    /** Text of the Statusbar in INSERT mode */
    public static final String TREEVIEW_STATUSBAR_INSERT_TEXT = TREEVIEW_STATUSBAR_DEFAULT_TEXT + ": (INSERT)";
    
    /* ----------------------------------------------------------------------
     *           INTERNAL GLADE FILENAMES
     * ---------------------------------------------------------------------- */
    /** Name of the file with the glade for the product edition panel */
    public static final String GLADE_PRODUCT_EDITION_FILENAME = "editproduct.glade";
    /** Name of the file with the glade for the process edition panel */
    public static final String GLADE_PROCESS_EDITION_FILENAME = "editprocess.glade";
    /** Name of the file with the glade for the purchase edition panel */
    public static final String GLADE_PURCHASE_EDITION_FILENAME = "editpurchase.glade";
    /** Name of the file with the glade for the warehouse edition panel */
    public static final String GLADE_WAREHOUSE_EDITION_FILENAME = "editwarehouse.glade";
    /** Name of the file with the glade for the property edition panel */
    public static final String GLADE_PROPERTY_EDITION_FILENAME = "editproperty.glade";
    /** Name of the file with the glade for the comment edition panel */
    public static final String GLADE_COMMENT_EDITION_FILENAME = "editcomment.glade";
    /** Name of the file with the glade for the worker edition panel */
    public static final String GLADE_WORKER_EDITION_FILENAME = "editworker.glade";
    /** Name of the file with the glade for the workcenter edition panel */
    public static final String GLADE_WORKCENTER_EDITION_FILENAME = "editworkcenter.glade";
    /** Name of the file with the glade for the appcc edition panel */
    public static final String GLADE_APPCC_EDITION_FILENAME = "editappcc.glade";
    
    /* ----------------------------------------------------------------------
     *           ITEM NAMES OF THE PRODUCT EDITION PANEL
     * ---------------------------------------------------------------------- */
    /** Name of the item product reference from the product edition panel */
    public static final String EDIT_PRODUCT_REFERENCE_ITEMNAME = "entryTrProductRef";
    /** Name of the item product set number from the product edition panel */
    public static final String EDIT_PRODUCT_SETNUMBER_ITEMNAME = "entryTrProductSet";
    /** Name of the item product barcode text entry from the product edition panel */
    public static final String EDIT_PRODUCT_BARCODE_ENTRY_ITEMNAME = "entryTrProductBarcode";
    /** Name of the item product barcode image from the product edition panel */
    public static final String EDIT_PRODUCT_BARCODE_IMAGE_ITEMNAME = "imageTrProductBarcode";
    /** Name of the item product description from the product edition panel */
    public static final String EDIT_PRODUCT_DESCRIPTION_ITEMNAME = "entryTrProductDescription";
    /** Name of the item product in date's day from the product edition panel */
    public static final String EDIT_PRODUCT_IN_DAY_ITEMNAME = "entryTrProductInDay";
    /** Name of the item product in date's month from the product edition panel */
    public static final String EDIT_PRODUCT_IN_MONTH_ITEMNAME = "entryTrProductInMonth";
    /** Name of the item product in date's year from the product edition panel */
    public static final String EDIT_PRODUCT_IN_YEAR_ITEMNAME = "entryTrProductInYear";
    /** Name of the item product expiry date's day from the product edition panel */
    public static final String EDIT_PRODUCT_EXPIRY_DAY_ITEMNAME = "entryTrProductExpiryDay";
    /** Name of the item product expiry month's day from the product edition panel */
    public static final String EDIT_PRODUCT_EXPIRY_MONTH_ITEMNAME = "entryTrProductExpiryMonth";
    /** Name of the item product expiry date's year from the product edition panel */
    public static final String EDIT_PRODUCT_EXPIRY_YEAR_ITEMNAME = "entryTrProductExpiryYear";
    /** Name of the item product traceability filename from the product edition panel */
    public static final String EDIT_PRODUCT_TRFILE_ITEMNAME = "entryTrProductTrFile";
    
    /* ----------------------------------------------------------------------
     *           ITEM NAMES OF THE PROPERTY EDITION PANEL
     * ---------------------------------------------------------------------- */
    /** Name of the item property code from the property edition panel */
    public static final String EDIT_PROPERTY_CODE_ITEMNAME = "entryPropertyCode";
    /** Name of the item property description from the property edition panel */
    public static final String EDIT_PROPERTY_DESCRIPTION_ITEMNAME = "entryPropertyName";
    /** Name of the item property type from the property edition panel */
    public static final String EDIT_PROPERTY_TYPE_ITEMNAME = "comboboxPropertyType";
    /** Name of the item property value from the property edition panel */
    public static final String EDIT_PROPERTY_VALUE_ITEMNAME = "entryPropertyValue";
    /** Name of the item property value from the property edition panel */
    public static final String EDIT_PROPERTY_PATTERN_ITEMNAME = "entryPropertyPattern";

    /* ----------------------------------------------------------------------
     *           ITEM NAMES OF THE PURCHASE EDITION PANEL
     * ---------------------------------------------------------------------- */
    /** Name of the item purchase code from the purchase edition panel */
    public static final String EDIT_PURCHASE_CODE_ITEMNAME = "entryPurchaseCode";
    /** Name of the item purchase supplier from the purchase edition panel */
    public static final String EDIT_PURCHASE_SUPPLIER_ITEMNAME = "entryPurchaseSupplier";
    
    /* ----------------------------------------------------------------------
     *           ITEM NAMES OF THE PROCESS EDITION PANEL
     * ---------------------------------------------------------------------- */
    /** Name of the item process code from the process edition panel */
    public static final String EDIT_PROCESS_CODE_ITEMNAME = "entryProcessCode";
    /** Name of the item process day from the process edition panel */
    public static final String EDIT_PROCESS_DAY_ITEMNAME = "entryProcessDay";
    /** Name of the item process month from the process edition panel */
    public static final String EDIT_PROCESS_MONTH_ITEMNAME = "entryProcessMonth";
    /** Name of the item process year from the process edition panel */
    public static final String EDIT_PROCESS_YEAR_ITEMNAME = "entryProcessYear";

    /* ----------------------------------------------------------------------
     *           ITEM NAMES OF THE WAREHOUSE EDITION PANEL
     * ---------------------------------------------------------------------- */
    /** Name of the item warehouse code from the warehouse edition panel */
    public static final String EDIT_WAREHOUSE_CODE_ITEMNAME = "entryWarehouseCode";
    /** Name of the item warehouse description from the warehouse edition panel */
    public static final String EDIT_WAREHOUSE_DESCRIPTION_ITEMNAME = "entryWarehouseName";

    /* ----------------------------------------------------------------------
     *           ITEM NAMES OF THE COMMENT EDITION PANEL
     * ---------------------------------------------------------------------- */
    /** Name of the item comment text from the comment edition panel */
    public static final String EDIT_COMMENT_ITEMNAME = "textviewComment";

    /* ----------------------------------------------------------------------
     *           ITEM NAMES OF THE WORKER EDITION PANEL
     * ---------------------------------------------------------------------- */
    /** Name of the item worker code from the worker edition panel */
    public static final String EDIT_WORKER_CODE_ITEMNAME = "entryWorkerCode";
    /** Name of the item worker name from the worker edition panel */
    public static final String EDIT_WORKER_NAME_ITEMNAME = "entryWorkerName";
    
    /* ----------------------------------------------------------------------
     *           ITEM NAMES OF THE WORKCENTER EDITION PANEL
     * ---------------------------------------------------------------------- */
    /** Name of the item workcenter code from the workcenter edition panel */
    public static final String EDIT_WORKCENTER_CODE_ITEMNAME = "entryWorkcenterCode";
    /** Name of the item workcenter description from the workcenter edition panel */
    public static final String EDIT_WORKCENTER_DESCRIPTION_ITEMNAME = "entryWorkcenterName";
    
    /* ----------------------------------------------------------------------
     *           DIALOG TRACEABILITY FILE CHOOSER NAMES
     * ---------------------------------------------------------------------- */
    /** Name of the traceability file chooser dialog */
    public static final String CHOOSE_TRACEABILITY_FILE_DIALOG_NAME = "dialogTraceabilityFileChooser";
   
    /* ----------------------------------------------------------------------
     *           DIALOG SAVE TRACEABILITY FILE NAME CHOOSER NAMES
     * ---------------------------------------------------------------------- */
    /** Name of the traceability file chooser dialog */
    public static final String CHOOSE_SAVE_FILENAME_DIALOG_NAME = "dialogTraceabilityFileChooser";
    
    /* ----------------------------------------------------------------------
     *           DIALOG CHOOSE NODE TYPE NAMES
     * ---------------------------------------------------------------------- */
    /** Name of the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_DIALOG_NAME = "dialogChooseNodeType";
    /** Name of the item product type radiobutton from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_PRODUCT_RADIOBUTTON_NAME = "radiobuttonProduct";
    /** Name of the item property type radiobutton from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_PROPERTY_RADIOBUTTON_NAME = "radiobuttonProperty";
    /** Name of the item purchase type radiobutton from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_PURCHASE_RADIOBUTTON_NAME = "radiobuttonPurchase";
    /** Name of the item process type radiobutton from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_PROCESS_RADIOBUTTON_NAME = "radiobuttonProcess";
    /** Name of the item worker type radiobutton from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_WORKER_RADIOBUTTON_NAME = "radiobuttonWorker";
    /** Name of the item workcenter type radiobutton from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_WORKCENTER_RADIOBUTTON_NAME = "radiobuttonWorkcenter";
    /** Name of the item warehouse type radiobutton from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_WAREHOUSE_RADIOBUTTON_NAME = "radiobuttonWarehouse";
    /** Name of the item appcc type radiobutton from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_APPCC_RADIOBUTTON_NAME = "radiobuttonAppcc";
    /** Name of the item comment type radiobutton from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_COMMENT_RADIOBUTTON_NAME = "radiobuttonComment";
    /** Name of the ok button from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_OKBUTTON_NAME = "chooseNodeTypeAcceptButton";
    /** Name of the cancel button from the choose item type dialog */
    public static final String CHOOSE_ITEM_TYPE_CANCELBUTTON_NAME = "chooseNodeTypeCancelButton";

    /* ----------------------------------------------------------------------
     *           DIALOG CHOOSE DATE ITEM NAMES
     * ---------------------------------------------------------------------- */
    /** Name of the choose date dialog */
    public static final String CHOOSE_DATE_DIALOG_NAME = "dialogChooseDate";
    /** Name of the calendar item from the choose date dialog */
    public static final String CHOOSE_DATE_CALENDAR_NAME = "chooseDateCalendar";
    /** Name of the ok button from the choose date dialog */
    public static final String CHOOSE_DATE_OKBUTTON_NAME = "chooseDateAcceptButton";
    /** Name of the cancel button from the choose date dialog */
    public static final String CHOOSE_DATE_CANCELBUTTON_NAME = "chooseDateCancelButton";
    
    /* ----------------------------------------------------------------------
     *           DIALOG RESULT MESSAGE ITEM NAMES
     * ---------------------------------------------------------------------- */
    /** Name of the choose date dialog */
    public static final String RESULT_MESSAGE_DIALOG_NAME = "dialogResultMessage";
    /** Name of the calendar item from the choose date dialog */
    public static final String RESULT_MESSAGE_TEXT_NAME = "resultMessageText";
    /** Name of the ok button from the choose date dialog */
    public static final String RESULT_MESSAGE_OKBUTTON_NAME = "resultMessageAcceptButton";
   
    /* ----------------------------------------------------------------------
     * STARTING INDEXES FOR THE MAIN TREE ITEMS OF THE COMPLEX NODE TYPES:
     * They inform of the final position of the fixed part of the node type
     * and the starting index of the dinamic part.
     * ---------------------------------------------------------------------- */
    /** Starting index of the product's properties. They come after:
     * <ul>
     *  <li>0: REFERENCE</li>
     *  <li>1: SET NUMBER</li>
     *  <li>2: BARCODE</li>
     *  <li>3: IN DATE</li>
     *  <li>4: EXPIRY DATE</li>
     *  <li>5: TRACEABILITY FILENAME</li>
     * </ul>  */
    public static final int TREEVIEW_START_PRODUCT_PROPERTIES_INDEX = 6;
    /** Starting index of the process's product in list. They come after:
     * <ul>
     *  <li>0: PROCESS DATE</li>
     * </ul>  */
    public static final int TREEVIEW_START_PROCESS_PRODUCT_IN_INDEX = 1;
    
    /**
     * Category of the logging system for the traceability tree viewer module.
     */
    public static final String TREEVIEW_LOG_CATEGORY = "treeviewLog";
    
    /* -----------------------------------------------------------------------
     *                          LOG MESSAGES:
     * Constants with the messages strings used for logging.
     * ----------------------------------------------------------------------- */
    /**
     * Message for logging the glade configuration file path.
     */
    public static final String TREEVIEW_LOG_GLADEPATH = "The interface configuration file has been found at this path: %s";
    /**
     * Message for logging the resources directory path.
     */
    public static final String TREEVIEW_LOG_RESOURCESPATH = "The resources directory is: %s";
    /**
     * Message for logging the list of created widgets.
     */
    public static final String TREEVIEW_LOG_WIDGETLIST = "List of widgets built: ";
    /**
     * Message for separate widgets in the log.
     */
    public static final String TREEVIEW_LOG_WIDGETSEPARATOR = "//////////////////////////";
    /**
     * Message for logging the tree content (list of created tree items).
     */
    public static final String TREEVIEW_LOG_TREECONTENT = "Tree content: %s";
    /**
     * Message for logging the selected item.
     */
    public static final String TREEVIEW_LOG_SELECTEDITEM = "Selected tree item: %s";
    /**
     * Message for logging the selected item.
     */
    public static final String TREEVIEW_LOG_EDITPANEL_PATH = "The interface configuration file of the edit panel (%s) has been found at this path: %s";
    /**
     * Message for logging the children of a new tree item.
     */
    public static final String TREEVIEW_LOG_TREEITEM_CHILDREN = "The tree item that is going to be built has (%d) children: %s";
    /**
     * Message for logging the building of a new tree item.
     */
    public static final String TREEVIEW_LOG_TREEITEM_INSERT = "A tree item of type (%d) is going to be inserted at the position: %d";
    /**
     * Message for logging the removing of a new tree item.
     */
    public static final String TREEVIEW_LOG_TREEITEM_DELETE = "The tree item %s has been deleted";
    /**
     * Message for logging the the showing of a result message to the user.
     */
    public static final String TREEVIEW_LOG_SHOWMESSAGE = "Result message showed to the user: %s";
    /**
     * Message for logging the the modification of a result message showed to the user.
     */
    public static final String TREEVIEW_LOG_SHOWMESSAGE_MODIFIED = "Result message showed to the user has been modified: %s";
    /**
     * Message for logging the loading of the messages resources file.
     */
    public static final String TREEVIEW_LOG_LOADMESSAGES = "Messages resources file found at: %s.";
    /**
     * Message for logging the path of the local version of the Traceability Tree DTD used instead
     * of the external URI provided in the traceability files.
     */
    public static final String TREEVIEW_LOG_RESOLVE_DTD = "Resolving external Traceability Tree DTD file to its local version placed at: %s!";
}
